From: Pablo Ariño Muñoz Date: Thu, 20 Feb 2025 21:50:13 +0000 (+0100) Subject: Replaced foreach with range loops X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~2^2~31^2~5 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=1f426977af7f8ebd7355c9740dffc496a1d8e250;p=nextcloud-desktop.git Replaced foreach with range loops Signed-off-by: Pablo Ariño Muñoz --- diff --git a/src/common/ownsql.cpp b/src/common/ownsql.cpp index 79e097b45..9271a2a55 100644 --- a/src/common/ownsql.cpp +++ b/src/common/ownsql.cpp @@ -186,7 +186,7 @@ QString SqlDatabase::error() const void SqlDatabase::close() { if (_db) { - foreach (auto q, _queries) { + for (auto q : qAsConst(_queries)) { q->finish(); } SQLITE_DO(sqlite3_close(_db)); diff --git a/src/common/syncjournaldb.cpp b/src/common/syncjournaldb.cpp index 927e2dcc1..912287718 100644 --- a/src/common/syncjournaldb.cpp +++ b/src/common/syncjournaldb.cpp @@ -950,7 +950,7 @@ Result SyncJournalDb::setFileRecord(const SyncJournalFileRecord & if (!_etagStorageFilter.isEmpty()) { // If we are a directory that should not be read from db next time, don't write the etag QByteArray prefix = record._path + "/"; - foreach (const QByteArray &it, _etagStorageFilter) { + for (const QByteArray &it : qAsConst(_etagStorageFilter)) { if (it.startsWith(prefix)) { qCInfo(lcDb) << "Filtered writing the etag of" << prefix << "because it is a prefix of" << it; record._etag = "_invalid_"; @@ -1718,7 +1718,7 @@ static bool deleteBatch(SqlQuery &query, const QStringList &entries, const QStri qCDebug(lcDb) << "Removing stale" << name << "entries:" << entries.join(QStringLiteral(", ")); // FIXME: Was ported from execBatch, check if correct! - foreach (const QString &entry, entries) { + for (const QString &entry : qAsConst(entries)) { query.reset_and_clear_bindings(); query.bindValue(1, entry); if (!query.exec()) { diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp index c9b7faaea..6d5544fee 100644 --- a/src/gui/folderman.cpp +++ b/src/gui/folderman.cpp @@ -853,7 +853,7 @@ void FolderMan::slotAccountStateChanged() qCInfo(lcFolderMan) << "Account" << accountName << "disconnected or paused, " "terminating or descheduling sync folders"; - foreach (Folder *f, _folderMap.values()) { + for (Folder *f : qAsConst(_folderMap.values())) { if (f && f->isSyncRunning() && f->accountState() == accountState) { diff --git a/src/gui/folderwizard.cpp b/src/gui/folderwizard.cpp index 3561699d6..c198b40bd 100644 --- a/src/gui/folderwizard.cpp +++ b/src/gui/folderwizard.cpp @@ -337,7 +337,7 @@ bool FolderWizardRemotePath::selectByPath(QString path) QTreeWidgetItem *it = _ui.folderTreeWidget->topLevelItem(0); if (!path.isEmpty()) { const QStringList pathTrail = path.split(QLatin1Char('/')); - foreach (const QString &path, pathTrail) { + for (const QString &path : qAsConst(pathTrail)) { if (!it) { return false; } @@ -367,7 +367,7 @@ void FolderWizardRemotePath::slotUpdateDirectories(const QStringList &list) } QStringList sortedList = list; Utility::sortFilenames(sortedList); - foreach (QString path, sortedList) { + for (QString path : sortedList) { path.remove(webdavFolder); // Don't allow to select subfolders of encrypted subfolders diff --git a/src/gui/ignorelisttablewidget.cpp b/src/gui/ignorelisttablewidget.cpp index f6dd7347f..16f797d39 100644 --- a/src/gui/ignorelisttablewidget.cpp +++ b/src/gui/ignorelisttablewidget.cpp @@ -100,7 +100,7 @@ void IgnoreListTableWidget::slotWriteIgnoreFile(const QString & file) // We need to force a remote discovery after a change of the ignore list. // Otherwise we would not download the files/directories that are no longer // ignored (because the remote etag did not change) (issue #3172) - foreach (Folder *folder, folderMan->map()) { + for (Folder *folder : qAsConst(folderMan->map())) { folder->journalDb()->forceRemoteDiscoveryNextSync(); folderMan->scheduleFolder(folder); } diff --git a/src/gui/lockwatcher.cpp b/src/gui/lockwatcher.cpp index d3edc2352..cb9e4412e 100644 --- a/src/gui/lockwatcher.cpp +++ b/src/gui/lockwatcher.cpp @@ -52,7 +52,7 @@ void LockWatcher::checkFiles() { QSet unlocked; - foreach (const QString &path, _watchedPaths) { + for (const QString &path : _watchedPaths) { if (!FileSystem::isFileLocked(path)) { qCInfo(lcLockWatcher) << "Lock of" << path << "was released"; emit fileUnlocked(path); diff --git a/src/gui/openfilemanager.cpp b/src/gui/openfilemanager.cpp index d2bfee9a4..455c194e6 100644 --- a/src/gui/openfilemanager.cpp +++ b/src/gui/openfilemanager.cpp @@ -64,8 +64,8 @@ static QString findDefaultFileManager() QStringList subdirs; subdirs << "/applications/" << "/applications/kde4/"; - foreach (QString dir, dirs) { - foreach (QString subdir, subdirs) { + for (const QString &dir : dirs) { + for (const QString &subdir : subdirs) { fi.setFile(dir + subdir + fileName); if (fi.exists()) { return fi.absoluteFilePath(); diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 872635352..92bdd74f2 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -358,7 +358,7 @@ void ownCloudGui::slotComputeOverallSyncStatus() #ifdef Q_OS_WIN // Windows has a 128-char tray tooltip length limit. QStringList accountNames; - foreach (AccountStatePtr a, problemAccounts) { + for (const AccountStatePtr &a : qAsConst(problemAccounts)) { accountNames.append(a->account()->displayName()); } _tray->setToolTip(tr("Disconnected from %1").arg(accountNames.join(QLatin1String(", ")))); @@ -570,7 +570,7 @@ void ownCloudGui::slotLogin() account->signIn(); } else { auto list = AccountManager::instance()->accounts(); - foreach (const auto &a, list) { + for (const auto &a : qAsConst(list)) { a->signIn(); } } @@ -584,7 +584,7 @@ void ownCloudGui::slotLogout() list.append(account); } - foreach (const auto &ai, list) { + for (const auto &ai : qAsConst(list)) { ai->signOutByUi(); } } diff --git a/src/gui/selectivesyncdialog.cpp b/src/gui/selectivesyncdialog.cpp index af8deeb90..5bd2246ce 100644 --- a/src/gui/selectivesyncdialog.cpp +++ b/src/gui/selectivesyncdialog.cpp @@ -166,7 +166,7 @@ void SelectiveSyncWidget::recursiveInsert(QTreeWidgetItem *parent, QStringList p if (parent->checkState(0) == Qt::Checked || parent->checkState(0) == Qt::PartiallyChecked) { item->setCheckState(0, Qt::Checked); - foreach (const QString &str, _oldBlackList) { + for (const QString &str : qAsConst(_oldBlackList)) { if (str == path || str == QLatin1String("/")) { item->setCheckState(0, Qt::Unchecked); break; @@ -218,7 +218,7 @@ void SelectiveSyncWidget::slotUpdateDirectories(QStringList list) // list of top-level folders as soon as possible. if (_oldBlackList == QStringList("/")) { _oldBlackList.clear(); - foreach (QString path, list) { + for (QString path : qAsConst(list)) { path.remove(pathToRemove); if (path.isEmpty()) { continue; @@ -249,7 +249,7 @@ void SelectiveSyncWidget::slotUpdateDirectories(QStringList list) } Utility::sortFilenames(list); - foreach (QString path, list) { + for (QString path : qAsConst(list)) { auto size = job ? job->_folderInfos[path].size : 0; path.remove(pathToRemove); @@ -425,7 +425,7 @@ QStringList SelectiveSyncWidget::createBlackList(QTreeWidgetItem *root) const } else { // We did not load from the server so we reuse the one from the old black list QString path = root->data(0, Qt::UserRole).toString(); - foreach (const QString &it, _oldBlackList) { + for (const QString &it : qAsConst(_oldBlackList)) { if (it.startsWith(path)) result += it; } @@ -533,7 +533,7 @@ void SelectiveSyncDialog::accept() // (the ones that are no longer in the blacklist) auto blackListSet = QSet{blackList.begin(), blackList.end()}; auto changes = (oldBlackListSet - blackListSet) + (blackListSet - oldBlackListSet); - foreach (const auto &it, changes) { + for (const auto &it : qAsConst(changes)) { _folder->journalDb()->schedulePathForRemoteDiscovery(it); _folder->schedulePathForLocalDiscovery(it); } diff --git a/src/gui/settingsdialog.cpp b/src/gui/settingsdialog.cpp index 7b4d77894..5853e4971 100644 --- a/src/gui/settingsdialog.cpp +++ b/src/gui/settingsdialog.cpp @@ -350,7 +350,7 @@ void SettingsDialog::customizeStyle() QString background(palette().base().color().name()); _toolBar->setStyleSheet(TOOLBAR_CSS().arg(background, dark, highlightColor, highlightTextColor)); - Q_FOREACH (QAction *a, _actionGroup->actions()) { + for (QAction *a : qAsConst(_actionGroup->actions())) { QIcon icon = Theme::createColorAwareIcon(a->property("iconPath").toString(), palette()); a->setIcon(icon); auto *btn = qobject_cast(_toolBar->widgetForAction(a)); diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp index 8065db43d..b157a50c5 100644 --- a/src/gui/sharemanager.cpp +++ b/src/gui/sharemanager.cpp @@ -34,7 +34,7 @@ namespace OCC { */ static void updateFolder(const AccountPtr &account, QStringView path) { - foreach (Folder *f, FolderMan::instance()->map()) { + for (Folder *f : qAsConst(FolderMan::instance()->map())) { if (f->accountState()->account() != account) continue; auto folderPath = f->remotePath(); @@ -464,7 +464,7 @@ void ShareManager::createShare(const QString &path, [=](const QJsonDocument &reply) { // Find existing share permissions (if this was shared with us) Share::Permissions existingPermissions = SharePermissionAll; - foreach (const QJsonValue &element, reply.object()["ocs"].toObject()["data"].toArray()) { + for (const QJsonValue &element : reply.object()["ocs"].toObject()["data"].toArray()) { auto map = element.toObject(); if (map["file_target"] == path) existingPermissions = Share::Permissions(map["permissions"].toInt()); @@ -559,7 +559,7 @@ const QList ShareManager::parseShares(const QJsonDocument &reply) cons QList shares; - foreach (const auto &share, tmpShares) { + for (const auto &share : qAsConst(tmpShares)) { auto data = share.toObject(); auto shareType = data.value("share_type").toInt(); diff --git a/src/gui/sslbutton.cpp b/src/gui/sslbutton.cpp index c54d0f527..e7f4135e8 100644 --- a/src/gui/sslbutton.cpp +++ b/src/gui/sslbutton.cpp @@ -217,7 +217,7 @@ void SslButton::slotUpdateMenu() const auto systemCerts = QSslConfiguration::systemCaCertificates(); QList tmpChain; - foreach (QSslCertificate cert, chain) { + for (const QSslCertificate &cert : qAsConst(chain)) { tmpChain << cert; if (systemCerts.contains(cert)) break; diff --git a/src/gui/sslerrordialog.cpp b/src/gui/sslerrordialog.cpp index b8c65e556..43fc92fb4 100644 --- a/src/gui/sslerrordialog.cpp +++ b/src/gui/sslerrordialog.cpp @@ -138,10 +138,10 @@ bool SslErrorDialog::checkFailingCertsKnown(const QList &errors) msg += QL("

") + tr("Cannot connect securely to %1:").arg(host) + QL("

"); // loop over the unknown certs and line up their errors. msg += QL("
"); - foreach (const QSslCertificate &cert, _unknownCerts) { + for (const QSslCertificate &cert : _unknownCerts) { msg += QL("
"); // add the errors for this cert - foreach (QSslError err, errors) { + for (const auto &err : qAsConst(errors)) { if (err.certificate() == cert) { msg += QL("

") + err.errorString() + QL("

"); } diff --git a/src/gui/tray/activitydata.cpp b/src/gui/tray/activitydata.cpp index 762a9cc3e..d702f5a11 100644 --- a/src/gui/tray/activitydata.cpp +++ b/src/gui/tray/activitydata.cpp @@ -174,7 +174,7 @@ OCC::Activity Activity::fromActivityJson(const QJsonObject &json, const AccountP } auto actions = json.value("actions").toArray(); - foreach (auto action, actions) { + for (auto action : qAsConst(actions)) { activity._links.append(ActivityLink::createFomJsonObject(action.toObject())); } diff --git a/src/gui/tray/activitylistmodel.cpp b/src/gui/tray/activitylistmodel.cpp index 4adf4d5b3..50d7e5811 100644 --- a/src/gui/tray/activitylistmodel.cpp +++ b/src/gui/tray/activitylistmodel.cpp @@ -278,7 +278,7 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const return displayLocation(); case ActionsLinksRole: { QList customList; - foreach (ActivityLink activityLink, a._links) { + for (const ActivityLink &activityLink : qAsConst(a._links)) { customList << QVariant::fromValue(activityLink); } return customList; @@ -610,7 +610,7 @@ void ActivityListModel::addIgnoredFileToList(const Activity &newActivity) return; } - foreach (Activity activity, _listOfIgnoredFiles) { + for (const Activity &activity : qAsConst(_listOfIgnoredFiles)) { if (activity._file == newActivity._file) { duplicate = true; break; diff --git a/src/gui/tray/notificationhandler.cpp b/src/gui/tray/notificationhandler.cpp index b2a9fc78b..5de877874 100644 --- a/src/gui/tray/notificationhandler.cpp +++ b/src/gui/tray/notificationhandler.cpp @@ -96,7 +96,7 @@ void ServerNotificationHandler::slotNotificationsReceived(const QJsonDocument &j ActivityList list; ActivityList callList; - foreach (auto element, notifies) { + for (auto element : qAsConst(notifies)) { auto json = element.toObject(); auto a = Activity::fromActivityJson(json, ai->account()); diff --git a/src/gui/tray/usermodel.cpp b/src/gui/tray/usermodel.cpp index e67549d1b..36e4d17f0 100644 --- a/src/gui/tray/usermodel.cpp +++ b/src/gui/tray/usermodel.cpp @@ -589,7 +589,7 @@ void User::slotProgressInfo(const QString &folder, const ProgressInfo &progress) return; const auto &engine = f->syncEngine(); const auto style = engine.lastLocalDiscoveryStyle(); - foreach (Activity activity, _activityModel->errorsList()) { + for (const Activity &activity : _activityModel->errorsList()) { if (activity._expireAtMsecs != -1) { // we process expired activities in a different slot continue; @@ -638,7 +638,7 @@ void User::slotProgressInfo(const QString &folder, const ProgressInfo &progress) // We keep track very well of pending conflicts. // Inform other components about them. QStringList conflicts; - foreach (Activity activity, _activityModel->errorsList()) { + for (const Activity &activity : _activityModel->errorsList()) { if (activity._folder == folder && activity._syncFileItemStatus == SyncFileItem::Conflict) { conflicts.append(activity._file); diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index fbfc415bd..1302b6656 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -567,7 +567,7 @@ void Account::slotHandleSslErrors(QNetworkReply *reply, QList errors) NetworkJobTimeoutPauser pauser(reply); QString out; QDebug(&out) << "SSL-Errors happened for url " << reply->url().toString(); - foreach (const QSslError &error, errors) { + for (const QSslError &error : qAsConst(errors)) { QDebug(&out) << "\tError in " << error.certificate() << ":" << error.errorString() << "(" << error.error() << ")" << "\n"; @@ -577,7 +577,7 @@ void Account::slotHandleSslErrors(QNetworkReply *reply, QList errors) qCInfo(lcAccount()) << reply->sslConfiguration().peerCertificateChain(); bool allPreviouslyRejected = true; - foreach (const QSslError &error, errors) { + for (const QSslError &error : qAsConst(errors)) { if (!_rejectedCertificates.contains(error.certificate())) { allPreviouslyRejected = false; } @@ -624,7 +624,7 @@ void Account::slotHandleSslErrors(QNetworkReply *reply, QList errors) return; // Mark all involved certificates as rejected, so we don't ask the user again. - foreach (const QSslError &error, errors) { + for (const QSslError &error : qAsConst(errors)) { if (!_rejectedCertificates.contains(error.certificate())) { _rejectedCertificates.append(error.certificate()); } @@ -939,7 +939,7 @@ void Account::slotDirectEditingRecieved(const QJsonDocument &json) auto data = json.object().value("ocs").toObject().value("data").toObject(); auto editors = data.value("editors").toObject(); - foreach (auto editorKey, editors.keys()) { + for (const auto &editorKey : qAsConst(editors.keys())) { auto editor = editors.value(editorKey).toObject(); const QString id = editor.value("id").toString(); @@ -951,11 +951,11 @@ void Account::slotDirectEditingRecieved(const QJsonDocument &json) auto *directEditor = new DirectEditor(id, name); - foreach(auto mimeType, mimeTypes) { + for (const auto &mimeType : qAsConst(mimeTypes)) { directEditor->addMimetype(mimeType.toString().toLatin1()); } - foreach(auto optionalMimeType, optionalMimeTypes) { + for (const auto &optionalMimeType : qAsConst(optionalMimeTypes)) { directEditor->addOptionalMimetype(optionalMimeType.toString().toLatin1()); } diff --git a/src/libsync/capabilities.cpp b/src/libsync/capabilities.cpp index 55e63874a..b43f29a99 100644 --- a/src/libsync/capabilities.cpp +++ b/src/libsync/capabilities.cpp @@ -211,7 +211,7 @@ bool Capabilities::isClientStatusReportingEnabled() const QList Capabilities::supportedChecksumTypes() const { QList list; - foreach (const auto &t, _capabilities["checksums"].toMap()["supportedTypes"].toList()) { + for (const auto &t : qAsConst(_capabilities["checksums"].toMap()["supportedTypes"].toList())) { list.push_back(t.toByteArray()); } return list; @@ -373,7 +373,7 @@ bool Capabilities::privateLinkPropertyAvailable() const QList Capabilities::httpErrorCodesThatResetFailingChunkedUploads() const { QList list; - foreach (const auto &t, _capabilities["dav"].toMap()["httpErrorCodesThatResetFailingChunkedUploads"].toList()) { + for (const auto &t : qAsConst(_capabilities["dav"].toMap()["httpErrorCodesThatResetFailingChunkedUploads"].toList())) { list.push_back(t.toInt()); } return list; @@ -445,7 +445,7 @@ void Capabilities::addDirectEditor(DirectEditor* directEditor) DirectEditor* Capabilities::getDirectEditorForMimetype(const QMimeType &mimeType) { - foreach(DirectEditor* editor, _directEditors) { + for (DirectEditor* editor : qAsConst(_directEditors)) { if(editor->hasMimetype(mimeType)) return editor; } @@ -455,7 +455,7 @@ DirectEditor* Capabilities::getDirectEditorForMimetype(const QMimeType &mimeType DirectEditor* Capabilities::getDirectEditorForOptionalMimetype(const QMimeType &mimeType) { - foreach(DirectEditor* editor, _directEditors) { + for (DirectEditor* editor : qAsConst(_directEditors)) { if(editor->hasOptionalMimetype(mimeType)) return editor; } diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp index b1cb4268d..8fa401257 100644 --- a/src/libsync/configfile.cpp +++ b/src/libsync/configfile.cpp @@ -141,7 +141,7 @@ bool copy_dir_recursive(QString from_dir, QString to_dir) from_dir += QDir::separator(); to_dir += QDir::separator(); - foreach (QString copy_file, dir.entryList(QDir::Files)) { + for (const QString ©_file : qAsConst(dir.entryList(QDir::Files))) { QString from = from_dir + copy_file; QString to = to_dir + copy_file; @@ -150,7 +150,7 @@ bool copy_dir_recursive(QString from_dir, QString to_dir) } } - foreach (QString copy_dir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { + for (const QString ©_dir : qAsConst(dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))) { QString from = from_dir + copy_dir; QString to = to_dir + copy_dir; diff --git a/src/libsync/cookiejar.cpp b/src/libsync/cookiejar.cpp index f0e3bca10..57e5ce267 100644 --- a/src/libsync/cookiejar.cpp +++ b/src/libsync/cookiejar.cpp @@ -139,7 +139,7 @@ bool CookieJar::restore(const QString &fileName) QList CookieJar::removeExpired(const QList &cookies) { QList updatedList; - foreach (const QNetworkCookie &cookie, cookies) { + for (const QNetworkCookie &cookie : qAsConst(cookies)) { if (cookie.expirationDate() > QDateTime::currentDateTimeUtc() && !cookie.isSessionCookie()) { updatedList << cookie; } diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp index 23800013b..60417bf78 100644 --- a/src/libsync/discovery.cpp +++ b/src/libsync/discovery.cpp @@ -405,7 +405,7 @@ bool ProcessDirectoryJob::handleExcluded(const QString &path, const Entries &ent item->_errorString = tr("File names ending with a period are not supported on this file system."); } else { char invalid = '\0'; - foreach (char x, QByteArray("\\:?*\"<>|")) { + for (char x : QByteArray("\\:?*\"<>|")) { if (item->_file.contains(x)) { invalid = x; break; @@ -2086,7 +2086,7 @@ int ProcessDirectoryJob::processSubJobs(int nbJobs) } int started = 0; - foreach (auto *rj, _runningJobs) { + for (auto *rj : qAsConst(_runningJobs)) { started += rj->processSubJobs(nbJobs - started); if (started >= nbJobs) return started; diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp index c01ab82e2..a1540ebe4 100644 --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@ -346,7 +346,7 @@ void LsColJob::start() qCWarning(lcLsColJob) << "Propfind with no properties!"; } QByteArray propStr; - foreach (const QByteArray &prop, properties) { + for (const QByteArray &prop : qAsConst(properties)) { if (prop.contains(':')) { int colIdx = prop.lastIndexOf(":"); auto ns = prop.left(colIdx); diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 2cfbc9566..55f090ec0 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -555,7 +555,7 @@ void OwncloudPropagator::start(SyncFileItemVector &&items) QVector directoriesToRemove; QString removedDirectory; QString maybeConflictDirectory; - foreach (const SyncFileItemPtr &item, items) { + for (const SyncFileItemPtr &item : qAsConst(items)) { if (!removedDirectory.isEmpty() && item->_file.startsWith(removedDirectory)) { // this is an item in a directory which is going to be removed. auto *delDirJob = qobject_cast(directoriesToRemove.first()); @@ -618,7 +618,7 @@ void OwncloudPropagator::start(SyncFileItemVector &&items) } } - foreach (PropagatorJob *it, directoriesToRemove) { + for (PropagatorJob *it : qAsConst(directoriesToRemove)) { _rootJob->appendDirDeletionJob(it); } @@ -643,7 +643,7 @@ void OwncloudPropagator::startDirectoryPropagation(const SyncFileItemPtr &item, // checkForPermissions() has already run and used the permissions // of the file we're about to delete to decide whether uploading // to the new dir is ok... - foreach (const SyncFileItemPtr &dirItem, items) { + for (const SyncFileItemPtr &dirItem : qAsConst(items)) { if (dirItem->destination().startsWith(item->destination() + "/")) { dirItem->_instruction = CSYNC_INSTRUCTION_NONE; _anotherSyncNeeded = true; @@ -1348,7 +1348,7 @@ void PropagatorCompositeJob::finalize() qint64 PropagatorCompositeJob::committedDiskSpace() const { qint64 needed = 0; - foreach (PropagatorJob *job, _runningJobs) { + for (PropagatorJob *job : qAsConst(_runningJobs)) { needed += job->committedDiskSpace(); } return needed; diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index ad1911111..09949116c 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -277,7 +277,7 @@ public: { if (!_runningJobs.empty()) { _abortsCount = _runningJobs.size(); - foreach (PropagatorJob *j, _runningJobs) { + for (PropagatorJob *j : qAsConst(_runningJobs)) { if (abortType == AbortType::Asynchronous) { connect(j, &PropagatorJob::abortFinished, this, &PropagatorCompositeJob::slotSubJobAbortFinished); diff --git a/src/libsync/progressdispatcher.cpp b/src/libsync/progressdispatcher.cpp index 3272be551..1f6f475c9 100644 --- a/src/libsync/progressdispatcher.cpp +++ b/src/libsync/progressdispatcher.cpp @@ -369,7 +369,7 @@ void ProgressInfo::updateEstimates() void ProgressInfo::recomputeCompletedSize() { qint64 r = _totalSizeOfCompletedJobs; - foreach (const ProgressItem &i, _currentItems) { + for (const ProgressItem &i : qAsConst(_currentItems)) { if (isSizeDependent(i._item)) r += i._progress._completed; } diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 3fea41230..4c55f046d 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -865,7 +865,7 @@ void PropagateUploadFileCommon::abortNetworkJobs( }; // Abort all running jobs, except for explicitly excluded ones - foreach (AbstractNetworkJob *job, _jobs) { + for (AbstractNetworkJob *job : qAsConst(_jobs)) { auto reply = job->reply(); if (!reply || !reply->isRunning()) continue; diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp index 31b2703ee..efdc54bfd 100644 --- a/src/libsync/propagateuploadv1.cpp +++ b/src/libsync/propagateuploadv1.cpp @@ -299,7 +299,11 @@ void PropagateUploadFileV1::slotPutFinished() SyncJournalDb::UploadInfo pi; pi._valid = true; auto currentChunk = job->_chunk; - foreach (auto *job, _jobs) { +<<<<<<< HEAD + for (auto *otherJob : qAsConst(_jobs)) { +======= + for (auto *job : std::as_const(_jobs)) { +>>>>>>> a0aaf26d9 (fixed wrong variable name) // Take the minimum finished one if (auto putJob = qobject_cast(job)) { currentChunk = qMin(currentChunk, putJob->_chunk - 1); @@ -373,7 +377,7 @@ void PropagateUploadFileV1::slotUploadProgress(qint64 sent, qint64 total) sender()->setProperty("byteWritten", sent); if (_jobs.count() > 1) { amount -= (_jobs.count() - 1) * chunkSize(); - foreach (QObject *j, _jobs) { + for (QObject *j : qAsConst(_jobs)) { amount += j->property("byteWritten").toULongLong(); } } else { diff --git a/src/libsync/propagatorjobs.cpp b/src/libsync/propagatorjobs.cpp index 99e69719d..c3f029115 100644 --- a/src/libsync/propagatorjobs.cpp +++ b/src/libsync/propagatorjobs.cpp @@ -80,7 +80,7 @@ bool PropagateLocalRemove::removeRecursively(const QString &path) // We need to delete the entries from the database now from the deleted vector. // Do it while avoiding redundant delete calls to the journal. QString deletedDir; - foreach (const auto &it, deleted) { + for (const auto &it : qAsConst(deleted)) { if (!it.first.startsWith(propagator()->localPath())) continue; if (!deletedDir.isEmpty() && it.first.startsWith(deletedDir)) diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index 515417084..13d1381b8 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -215,7 +215,7 @@ void SyncEngine::deleteStaleDownloadInfos(const SyncFileItemVector &syncItems) { // Find all downloadinfo paths that we want to preserve. QSet download_file_paths; - foreach (const SyncFileItemPtr &it, syncItems) { + for (const SyncFileItemPtr &it : qAsConst(syncItems)) { if (it->_direction == SyncFileItem::Down && it->_type == ItemTypeFile && isFileTransferInstruction(it->_instruction)) { @@ -226,7 +226,7 @@ void SyncEngine::deleteStaleDownloadInfos(const SyncFileItemVector &syncItems) // Delete from journal and from filesystem. const QVector deleted_infos = _journal->getAndDeleteStaleDownloadInfos(download_file_paths); - foreach (const SyncJournalDb::DownloadInfo &deleted_info, deleted_infos) { + for (const SyncJournalDb::DownloadInfo &deleted_info : qAsConst(deleted_infos)) { const QString tmppath = _propagator->fullLocalPath(deleted_info._tmpfile); qCInfo(lcEngine) << "Deleting stale temporary file: " << tmppath; FileSystem::remove(tmppath); @@ -237,7 +237,7 @@ void SyncEngine::deleteStaleUploadInfos(const SyncFileItemVector &syncItems) { // Find all blacklisted paths that we want to preserve. QSet upload_file_paths; - foreach (const SyncFileItemPtr &it, syncItems) { + for (const SyncFileItemPtr &it, qAsConst(syncItems)) { if (it->_direction == SyncFileItem::Up && it->_type == ItemTypeFile && isFileTransferInstruction(it->_instruction)) { @@ -250,7 +250,7 @@ void SyncEngine::deleteStaleUploadInfos(const SyncFileItemVector &syncItems) // Delete the stales chunk on the server. if (account()->capabilities().chunkingNg()) { - foreach (uint transferId, ids) { + for (uint transferId : qAsConst(ids)) { if (!transferId) continue; // Was not a chunked upload QUrl url = Utility::concatUrlPath(account()->url(), QLatin1String("remote.php/dav/uploads/") + account()->davUser() + QLatin1Char('/') + QString::number(transferId)); @@ -263,7 +263,7 @@ void SyncEngine::deleteStaleErrorBlacklistEntries(const SyncFileItemVector &sync { // Find all blacklisted paths that we want to preserve. QSet blacklist_file_paths; - foreach (const SyncFileItemPtr &it, syncItems) { + for (const SyncFileItemPtr &it : qAsConst(syncItems)) { if (it->_hasBlacklistEntry) blacklist_file_paths.insert(it->_file); } diff --git a/src/libsync/syncfilestatustracker.cpp b/src/libsync/syncfilestatustracker.cpp index 6e4e80962..65dc75499 100644 --- a/src/libsync/syncfilestatustracker.cpp +++ b/src/libsync/syncfilestatustracker.cpp @@ -235,7 +235,7 @@ void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector &items) ProblemsMap oldProblems; std::swap(_syncProblems, oldProblems); - foreach (const SyncFileItemPtr &item, items) { + for (const SyncFileItemPtr &item : qAsConst(items)) { qCInfo(lcStatusTracker) << "Investigating" << item->destination() << item->_status << item->_instruction << item->_direction; _dirtyPaths.remove(item->destination()); diff --git a/test/testnextcloudpropagator.cpp b/test/testnextcloudpropagator.cpp index da3a53b70..da419229e 100644 --- a/test/testnextcloudpropagator.cpp +++ b/test/testnextcloudpropagator.cpp @@ -81,7 +81,7 @@ private slots: tests.append(Test("\"fii\"-gzip", "fii")); tests.append(Test("W/\"foo\"", "foo")); - foreach (const auto& test, tests) { + for (const auto &test : qAsConst(tests)) { QCOMPARE(parseEtag(test.first), QByteArray(test.second)); } }